A typical digital imaging system may include an image capture device such as a digital camera or scanner, a computer attached to the digital camera for processing the digital images, and an output device such as a printer or softcopy display attached to the computer for printing/viewing the processed digital images. A color management architecture for a digital imaging system provides a means for processing the digital images in the computer such that the output colors that are produced on the output device are reasonable reproductions of the desired input colors as captured by the input device. One such color management architecture that is widely known and accepted in the art is defined by the International Color Consortium (ICC) in Specification ICC. 1:2001-12 “File Format For Color Profiles”. The ICC color management framework provides for characterizing an imaging device using a device profile such as an “ICC profile”. The ICC profile for an imaging device specifies how to convert from device dependent color space (DDCS) to a device independent color space (DICS) so that images may be communicated from one device to another.
For example, images generated by a digital camera are generally composed of a 2-dimensional (x,y) array of discrete pixels, where each pixel is represented by a trio of 8-bit digital code values (which are integers on the range 0-255) that represent the amount of red, green, and blue color that were “seen” by the camera at this pixel. These RGB code values represent the DDCS, since they describe the amount of light that was captured through the specific set of RGB filters that are used in the digital camera. In order for this digital image to be used, the RGB code values must be transformed into a DICS so they may be properly interpreted by another imaging device. An example of a typical digital imaging system incorporating ICC color management is depicted in FIG. 1, in which a digital image source 10 provides RGB input code values (a DDCS) to a computer (not shown). The computer transforms the RGB input code values to a DICS, (which is CIELab in this case) using an input device color transform 20 specified by the ICC profile for the digital image source 10. Once converted to CIELab, the image is then processed through an output device color transform 30, which is specified by an ICC profile for the output device. In this case, the output device is an inkjet printer 40 that uses cyan (C), magenta (M), yellow (Y), and black (K) colorants. Thus, the ICC profile for the inkjet printer 40 provides the transformation from the DICS (CIELab) to the DDCS (CMYK) for the printer. The combination of the ICC profile transformations for the input and output devices ensures that the colors reproduced by the output device match those captured by the input device.
The ICC profile format, of course, simply provides a file format in which a color transform is stored. The color transform itself, which is typically encoded as a multidimensional look-up table, is what specifies the mathematical conversion from one colorspace to another. There are many tools known in the art (such as the commercially available Kodak ColorFlow Profile Editor) for creating ICC profiles for wide variety of imaging devices, including inkjet printers using CMYK colorants. CMYK printers in particular pose a challenge when creating a color transform. Since there are four colorants that are used to print a given color, which is specified in the DICS by three channels (L*,a*,b*), then there is an extra degree of freedom that results in a many to one mapping, where many CMYK code value combinations can result in the same color. Thus, when building the color transform, a method of choosing a particular CMYK combination that is used to reproduce a given color is required. Techniques to accomplish this, known in the graphic arts as Under Color Removal (UCR) or Black Generation (BG), are known in the art, as taught in U.S. Pat. Nos. 4,482,917; 5,425,134; 5,508,827; 5,553,199; and 5,710,824. These methods primarily use smooth curves or interpolation techniques to specify the amount of K ink that is used to reproduce a color based on its location in colorspace, and then compute the amount of CMY ink that is needed to accurately reproduce the color.
However, in the case of an inkjet printer, which places discrete drops of CMYK inks on a page, different combinations of CMYK code values may produce the same color, but appear much different in graininess or noise when viewed by a human observer. This is due to the fact that inkjet printers are typically multitone printers, which are capable of ejecting only a fixed number (generally 1-8) of discrete ink drop sizes at each pixel. The graininess of a multitoned image region will vary depending on the CMYK code values that were used to generate it. Thus, certain CMYK code value combinations might produce visible patterns having an undesirable grainy appearance, while other CMYK code value combinations may produce the same (or nearly) color, but not appear as grainy. This relationship is not recognized nor taken advantage of in the prior art techniques for generating color transforms for CMYK printers.
An additional complication with creating color transform for inkjet printers is that image artifacts can typically result from using too much ink. These image artifacts degrade the image quality, and can result in an unacceptable print. In the case of an inkjet printer, some examples of these image artifacts include bleeding, cockling, banding, and coalescence. Bleeding is characterized by an undesirable mixing of colorants along a boundary between printed areas of different colorants. The mixing of the colorants results in poor edge sharpness, which degrades the image quality. Cockling is characterized by a warping or deformation of the receiver that can occur when printing excessive amounts of colorant. In severe cases, the receiver may warp to such an extent as to interfere with the mechanical motions of the printer, potentially causing damage to the printer. Banding refers to unexpected dark or light lines or streaks that appear running across the print, generally oriented along one of the axes of motion of the printer. Coalescence refers to undesired density or tonal variations that arise when ink pools together on the page, and can give the print a grainy appearance, thus degrading the image quality. In an inkjet printer, satisfactory density and color reproduction can generally be achieved without using the maximum possible amount of colorant. Therefore, using excessive colorant not only introduces the possibility of the above described image artifacts occurring, but is also a waste of colorant. This is disadvantageous, since the user will get fewer prints from a given quantity of colorant.
It has been recognized in the art that the use of excessive colorant when printing a digital image needs to be avoided. Generally, the amount of colorant needed to cause image artifacts (and therefore be considered excessive) is receiver, colorant, and printer technology dependent. Many techniques of reducing the colorant amount are known in the art, some of which operate on the image data after multitoning. See for example U.S. Pat. Nos. 4,930,018; 5,515,479; 5,563,985; 5,012,257; and 6,081,340. U.S. Pat. No. 5,633,662 to Allen et al. teaches a method of reducing colorant using a pre-multitoning algorithm that operates on higher bit precision data (typically 256 levels, or 8 bits per pixel, per color). Also, many of the commercially available ICC profile creation tools (such as Kodak ColorFlow Profile Editor) have controls that can be adjusted when creating the ICC profile that limit the amount of colorant that will be printed when using the ICC profile. This process is sometimes referred to as total colorant amount limiting.
The prior art techniques for total colorant amount limiting work well for many inkjet printers, but are disadvantaged when applied to state of the art inkjet printers that use other than the standard set of CMYK inks. A common trend in state of the art inkjet printing is to use CMYKcm inks, in which additional cyan and magenta inks that are lighter in density are used. The light inks are similar to their darker counterparts in that they produce substantially the same color but different density. The use of the light inks results in less visible ink dots in highlight regions, and therefore improved image quality. However, many tools for creating ICC profiles cannot be used to create a profile that directly addresses all six color channels of the inkjet printer, due to the complex mathematics involved. Instead, a CMYK profile is typically created, which is then followed by a look-up table that converts CMYK to CMYKcm. For example, see U.S. Pat. No. 6,312,101. While this and similar methods provide a way for current ICC profile generation tools to be used with CMYKcm printers, the amount of colorant that gets placed on the page as a function of the CMYK code value is typically highly nonlinear and possibly non-monotonic as well. This creates a big problem for the prior art ICC profile generation tools, since they all assume that the amount of colorant that is printed is proportional to the CMYK code value. Thus, when building an ICC profile for a CMYKcm printer using prior art tools, the total colorant amount limiting is often quite inaccurate, resulting in poor image quality.
In light of the above described image artifacts, there is the need for a color transformation used in preparing a digital image for a digital printer in which the amount of colorant, the noise (or graininess), and the color reproduction accuracy can be simultaneously adjusted by a user.